Analysis Wizard Question

Is there a way to access the Analysis Wizard using DXL? Like, I know that all of the Export programs can be called using DXL using an eval_("#include statement. Is there any way to reach the Wizard like this? I'm using 9.4, so my filepath is:
C://Program Files (x86)//IBM//Rational//DOORS//9.4
Thanks for your help!
josiah820 - Fri Jul 27 15:21:21 EDT 2012

Re: Analysis Wizard Question
Martin_Hunter - Mon Jul 30 09:09:33 EDT 2012

This should work:

eval_("#include <C:/Program Files (x86)/IBM/Rational/DOORS/9.4/lib/dxl/standard/impact/tracewiz.dxl>")

---
Martin

Re: Analysis Wizard Question
josiah820 - Mon Jul 30 10:49:19 EDT 2012

Martin_Hunter - Mon Jul 30 09:09:33 EDT 2012
This should work:

eval_("#include <C:/Program Files (x86)/IBM/Rational/DOORS/9.4/lib/dxl/standard/impact/tracewiz.dxl>")

---
Martin

yup, thanks!!

Re: Analysis Wizard Question
josiah820 - Mon Jul 30 14:25:07 EDT 2012

I have another question related to the Analysis Wizard. Is there any special code that I'm missing that would make something wait to occur until AFTER the Wizard has completed? For example, I'm trying to make a Dialog Box appear after the Wizard is done. Is there any way to do this?
Thanks!

Re: Analysis Wizard Question
Mathias Mamsch - Wed Aug 01 12:44:41 EDT 2012

josiah820 - Mon Jul 30 14:25:07 EDT 2012
I have another question related to the Analysis Wizard. Is there any special code that I'm missing that would make something wait to occur until AFTER the Wizard has completed? For example, I'm trying to make a Dialog Box appear after the Wizard is done. Is there any way to do this?
Thanks!

That is a tricky one... Try this:
 

Module modCur = current
 
// we pass the current Module to the eval context ... 
string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
current = modCur 
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x }    // make hide use release
void show (DB x) { block x; destroy x }   // make show use block
#include <"DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl>
"
 
print wizCode
 
eval_(wizCode)
 
ack "Hello"   // this should be executed after the wizard finished ...

 


if you are interested in explanations, post again ... Hope this helps, regards, Mathias

 

 


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS

 

Re: Analysis Wizard Question
josiah820 - Wed Aug 01 13:16:27 EDT 2012

Mathias Mamsch - Wed Aug 01 12:44:41 EDT 2012

That is a tricky one... Try this:
 

Module modCur = current
 
// we pass the current Module to the eval context ... 
string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
current = modCur 
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x }    // make hide use release
void show (DB x) { block x; destroy x }   // make show use block
#include <"DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl>
"
 
print wizCode
 
eval_(wizCode)
 
ack "Hello"   // this should be executed after the wizard finished ...

 


if you are interested in explanations, post again ... Hope this helps, regards, Mathias

 

 


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS

 

Okay, so it can definitely be done. How would I modify this to have three includes, each occurring after the other has completed? My goal is to use the Analysis Wizard twice (once for in-links, the other for out-links,) and then the Export HTML. How would this work?
Thanks for your help!
Josiah

Re: Analysis Wizard Question
josiah820 - Wed Aug 01 14:28:14 EDT 2012

josiah820 - Wed Aug 01 13:16:27 EDT 2012
Okay, so it can definitely be done. How would I modify this to have three includes, each occurring after the other has completed? My goal is to use the Analysis Wizard twice (once for in-links, the other for out-links,) and then the Export HTML. How would this work?
Thanks for your help!
Josiah

Here is my code so far...
The block of three eval_ statements is the section that I am talking about.
Attachments

attachment_14871047_Suspect_Links.dxl

Re: Analysis Wizard Question
Mathias Mamsch - Wed Aug 01 17:35:53 EDT 2012

josiah820 - Wed Aug 01 14:28:14 EDT 2012
Here is my code so far...
The block of three eval_ statements is the section that I am talking about.

You can use the above code in a function to call the script. Just do
 

void runScriptInEval (Module modCur, string sPath) {
  // we pass the current Module to the eval context ... 
  string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
  current = modCur 
  void hideOld (DB x) { hide x }
  void hide (DB x) { release x; hideOld x }    // make hide use release
  void show (DB x) { block x; release x }   // make show use block
  #include <">
"
   eval_ wizCode 
}
 
Module m = current
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl")
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl")
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/export/html.dxl")

 


Hope that helps, regards, Mathias

 

 


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS

 

Re: Analysis Wizard Question
Mathias Mamsch - Wed Aug 01 17:38:41 EDT 2012

Mathias Mamsch - Wed Aug 01 17:35:53 EDT 2012

You can use the above code in a function to call the script. Just do
 

void runScriptInEval (Module modCur, string sPath) {
  // we pass the current Module to the eval context ... 
  string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
  current = modCur 
  void hideOld (DB x) { hide x }
  void hide (DB x) { release x; hideOld x }    // make hide use release
  void show (DB x) { block x; release x }   // make show use block
  #include <">
"
   eval_ wizCode 
}
 
Module m = current
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl")
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl")
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/export/html.dxl")

 


Hope that helps, regards, Mathias

 

 


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS

 

Uh the code block above messed up the #include line ... it should be:

#include <\" sPath ">

with the backslash removed ... Regards, Mathias

Re: Analysis Wizard Question
josiah820 - Thu Aug 02 08:36:43 EDT 2012

Mathias Mamsch - Wed Aug 01 17:38:41 EDT 2012
Uh the code block above messed up the #include line ... it should be:

#include <\" sPath ">

with the backslash removed ... Regards, Mathias

Thanks so much for your help!!

Re: Analysis Wizard Question
DXLScripter - Tue Aug 28 05:56:51 EDT 2012

Mathias Mamsch - Wed Aug 01 12:44:41 EDT 2012

That is a tricky one... Try this:
 

Module modCur = current
 
// we pass the current Module to the eval context ... 
string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
current = modCur 
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x }    // make hide use release
void show (DB x) { block x; destroy x }   // make show use block
#include <"DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl>
"
 
print wizCode
 
eval_(wizCode)
 
ack "Hello"   // this should be executed after the wizard finished ...

 


if you are interested in explanations, post again ... Hope this helps, regards, Mathias

 

 


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS

 

I tried running the same for Comparison wizard but "Hello" acknoledge is displayed simultaneously while running the wizard. I am using DOORS version 8.3

Module modCur = current
current = modCur
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x } // make hide use release
void show (DB x) { block x; destroy x } // make show use block
eval_("#include <C://Program Files//Telelogic//DOORS_8.3//lib//dxl//standard//compwizard//compwiz.dxl>")

ack "Hello" // this should be executed after the wizard finished ...

Could you pls help me.
I also tried calling run_wizard() of C:\Program Files\Telelogic\DOORS_8.3\lib\dxl\standard\compwizard\include but this did not work

#include <C://Program Files//Telelogic//DOORS_8.3//lib//dxl//standard//compwizard//include//wizard.inc>
run_wizard()

Re: Analysis Wizard Question
Mathias Mamsch - Tue Aug 28 08:59:19 EDT 2012

DXLScripter - Tue Aug 28 05:56:51 EDT 2012
I tried running the same for Comparison wizard but "Hello" acknoledge is displayed simultaneously while running the wizard. I am using DOORS version 8.3

Module modCur = current
current = modCur
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x } // make hide use release
void show (DB x) { block x; destroy x } // make show use block
eval_("#include <C://Program Files//Telelogic//DOORS_8.3//lib//dxl//standard//compwizard//compwiz.dxl>")

ack "Hello" // this should be executed after the wizard finished ...

Could you pls help me.
I also tried calling run_wizard() of C:\Program Files\Telelogic\DOORS_8.3\lib\dxl\standard\compwizard\include but this did not work

#include <C://Program Files//Telelogic//DOORS_8.3//lib//dxl//standard//compwizard//include//wizard.inc>
run_wizard()

You need to put the overrides inside the eval string. That would be:

{code}
eval_("
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x } // make hide use release
void show (DB x) { block x; destroy x } // make show use block
#include <C://Program Files//Telelogic//DOORS_8.3//lib//dxl//standard//compwizard//compwiz.dxl>
")

This should make the 'show' in the compwiz to instead use block, and stop the script execution until the eval_ ends. In your example your declarations of hide/show will not affect the eval context in any way. Hope this helps, regards, Mathias

Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS